const express = require('express')
const axios = require('axios')
const cors = require('cors')

const app = express()
const PORT = 3000

// 启用 CORS
app.use(cors())

// 启用 JSON 请求解析
app.use(express.json())

// 代理 POST 请求到讯飞 API
app.post('/proxy', async (req, res) => {
  try {
    // 配置请求参数
    const { messages } = req.body

    const apiResponse = await axios.post(
      'https://spark-api-open.xf-yun.com/v1/chat/completions',
      {
        model: 'generalv3.5',
        messages: messages,
        stream: true, // 启用流式响应
      },
      {
        headers: {
          'Content-Type': 'application/json',
          Authorization: 'Bearer EdwsxWZNhrGSfdPqDDmd:aJRDRiEKnMSbRoHNMFKS', // 替换为实际的 API 密钥
        },
        responseType: 'stream', // 接收流式响应
      }
    )

    // 将流式响应直接返回给前端
    apiResponse.data.pipe(res)
  } catch (error) {
    console.error('Error:', error.message)
    res.status(500).json({ error: 'Failed to fetch data from the AI API' })
  }
})

// 启动代理服务器
app.listen(PORT, () => {
  console.log(`Proxy server is running at http://localhost:${PORT}`)
})
